FIG. 1 illustrates a relationship between Protocol Data Units (PDUs) and Service Data Units (SDUs) in a protocol stack.
From the perspective of a protocol layer, a data unit received from an upper layer is called an SDU and a data unit created by processing the SDU, to be transmitted to a lower layer is called a PDU. For instance, a data unit that a Medium Access Control (MAC) layer receives from an Internet Protocol (IP) layer or a Convergence Sublayer (CS) is called a MAC SDU and the MAC SDU is processed to a MAC PDU, for transmission to a PHYsical (PHY) layer.
FIG. 2 illustrates an exemplary method of converting an SDU to a PDU.
Referring to FIG. 2, an SDU is segmented into ARQ blocks each being an ARQ unit. Then an MAC PDU is constructed with ARQ blocks by fragmentation or packing according to a transmission situation. In FIG. 2, SDU #1 is segmented into ARQ blocks according to a predetermined ARQ block size (ARQ blocks #5 to #11). Since ARQ block #11 is smaller than the predetermined ARQ block size, it remains smaller. MAC PDU #1 is constructed with a first fragment, Frag 0, of SDU #1, whereas MAC PDU #2 is constructed with a second fragment, Frag 1, of SDU #1 and a first fragment, Frag 0, of SDU #2.
FIGS. 3A to 3D illustrate retransmissions of erroneous blocks in ARQ.
FIG. 3A illustrates two successive MAC SDUs for the same connection.
If a packed PDU #2 is lost due to errors in FIG. 3B, the lost PDU is retransmitted as illustrated in FIG. 3C or 3D. The retransmitted PDU is necessarily not identical to the previously transmitted PDU.
Referring to FIG. 3C, the lost ARQ blocks, ARQ blocks #8 to #14 included in the lost PDU, PDU #2 may be rearranged to a PDU #3 including ARQ blocks #8 and #9 and a PDU #4 including ARQ blocks #10 to #14.
Referring to FIG. 3D, without rearrangement, a PDU with the same lost ARQ blocks as initially transmitted is retransmitted.
FIG. 4 is a simplified diagram illustrating a signal flow for an ARQ operation.
ARQ retransmission is carried out on a block basis and one or more ARQ blocks may be retransmitted. A receiving ARQ entity (ARQ Rx) may transmit a Negative Acknowledgment (NACK) message for a failed ARQ block and a transmitting ARQ entity (ARQ Tx) may attempt to retransmit only the ARQ block for which it has received the NACK message.
Referring to FIG. 4, the ARQ Tx transmits ARQ blocks labeled with sequence numbers to the ARQ Rx in step 410. The ARQ Rx determines whether the ARQ blocks fall into an ARQ window and there is any duplicate ARQ block among them by checking their sequence numbers.
If the ARQ Rx fails to receive ARQ block #1, it transmits a NACK message for ARQ block #1 to the ARQ Tx in step 420.
Upon receipt of the NACK message, the ARQ Tx may retransmit ARQ block #1 after waiting until a time ARQ_RETRY_TIMEOUT expires in step 430. A time ARQ_BLOCK_LIFETIME is set for each ARQ block and the ARQ Tx manages the status of the ARQ block within the time. If the ARQ Tx fails to receive an Acknowledgment (ACK)/NACK message for an ARQ block until expiration of a time ARQ_BLOCK_LIFETIME for the ARQ block in step 440, it discards the ARQ block and does not manage it any longer.
FIG. 5 is a simplified diagram illustrating a signal flow for a conventional ARQ operation involving an HARQ operation.
A transmitting HARQ entity (HARQ Tx) receives MAC PDUs (hereinafter, referred to as MPDUs) from a transmitting ARQ entity (ARQ Tx). The HARQ Tx may construct one or more coding block by segmenting or concatenating MPDUs and attach a Cyclic Redundancy Check (CRC) to each coding block. A coding block may be configured to include four subpackets according to a used coding scheme. In the illustrated case of FIG. 5, a receiving HARQ entity (HARQ Rx) increases reception successbility by soft-combining subpackets in case of using Incremental Redundancy (IR) being an HARQ technique.
When the HARQ Rx successfully receives and decodes a first subpacket, it transmits an ACK message for the first subpacket to the HARQ Tx. Upon receipt of the ACK message, the HARQ Tx discontinues transmission of the remaining three subpackets. If the HARQ Rx fails to receive the first subpacket as illustrated in FIG. 5, it transmits a NACK message for the first subpacket and the HARQ Tx transmits the next subpacket. This operation continues until the HARQ Rx receives the coding block successfully or fails to receive as many subpackets as a maximum retransmission number.
After repeating the above operation, the HARQ Rx provides the received coding block to a receiving ARQ entity (ARQ Rx). The ARQ Rx, which is at the MAC level, checks the CRC of the coding block. If errors are found in ARQ blocks, the ARQ Rx transmits a NACK message for the erroneous ARQ blocks. When a packet error occurs between the HARQ Tx and the HARQ Rx, an error is also detected in ARQ blocks associated with the coding block.
In FIG. 5, the ARQ Rx transmits an ARQ NACK message for erroneous ARQ blocks to the ARQ Tx, and the ARQ Tx constructs a new MPDU to retransmit the erroneous ARQ blocks. The new MPDU may be identical to or different from the initially transmitted MPDU, in configuration.
In a conventional broadband wireless access system, for a Mobile Station (MS) operating in both HARQ and ARQ, packet retransmissions are independently carried out according to HARQ and ARQ retransmission protocols. Therefore, if an MPDU is divided into a plurality of HARQ blocks, there is no interaction between an HARQ operation and an ARQ operation. As a result, an HARQ entity should receive the entire MPDU redundantly from an ARQ entity, irrespective of whether transmission of each HARQ block is failed or not.
An object of the present invention devised to solve the problem lies on a method of associating ARQ with HARQ to fast retransmit an erroneous coding block and prevent unnecessary retransmission of the same data, when ARQ and HARQ are operated simultaneously.